
/*github  https://github.com/etsvain/random-name
*/
function randomNum(minNum, maxNum) {
    switch (arguments.length) {
      case 1:
        return parseInt(Math.random() * minNum + 1, 10);
        break;
      case 2:
        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
        break;
      default:
        return 0;
        break;
    }
  }
  class RandomName {
    constructor() {
      this.nickHeader = [
        "快乐的",
        "冷静的",
        "醉熏的",
        "潇洒的",
        "糊涂的",
        "积极的",
        "冷酷的",
        "深情的",
        "粗暴的",
        "温柔的",
        "可爱的",
        "愉快的",
        "义气的",
        "认真的",
        "威武的",
        "帅气的",
        "传统的",
        "潇洒的",
        "漂亮的",
        "自然的",
        "专一的",
        "听话的",
        "昏睡的",
        "狂野的",
        "等待的",
        "搞怪的",
        "幽默的",
        "魁梧的",
        "活泼的",
        "开心的",
        "高兴的",
        "超帅的",
        "留胡子的",
        "坦率的",
        "直率的",
        "轻松的",
        "痴情的",
        "完美的",
        "精明的",
        "无聊的",
        "有魅力的",
        "丰富的",
        "繁荣的",
        "饱满的",
        "炙热的",
        "暴躁的",
        "碧蓝的",
        "俊逸的",
        "英勇的",
        "健忘的",
        "故意的",
        "无心的",
        "土豪的",
        "朴实的",
        "兴奋的",
        "幸福的",
        "淡定的",
        "不安的",
        "阔达的",
        "孤独的",
        "独特的",
        "疯狂的",
        "时尚的",
        "落后的",
        "风趣的",
        "忧伤的",
        "大胆的",
        "爱笑的",
        "矮小的",
        "健康的",
        "合适的",
        "玩命的",
        "沉默的",
        "斯文的",
        "香蕉",
        "苹果",
        "鲤鱼",
        "鳗鱼",
        "任性的",
        "细心的",
        "粗心的",
        "大意的",
        "甜甜的",
        "酷酷的",
        "健壮的",
        "英俊的",
        "霸气的",
        "阳光的",
        "默默的",
        "大力的",
        "孝顺的",
        "忧虑的",
        "着急的",
        "紧张的",
        "善良的",
        "凶狠的",
        "害怕的",
        "重要的",
        "危机的",
        "欢喜的",
        "欣慰的",
        "满意的",
        "跳跃的",
        "诚心的",
        "称心的",
        "如意的",
        "怡然的",
        "娇气的",
        "无奈的",
        "无语的",
        "激动的",
        "愤怒的",
        "美好的",
        "感动的",
        "激情的",
        "激昂的",
        "震动的",
        "虚拟的",
        "超级的",
        "寒冷的",
        "精明的",
        "明理的",
        "犹豫的",
        "忧郁的",
        "寂寞的",
        "奋斗的",
        "勤奋的",
        "现代的",
        "过时的",
        "稳重的",
        "热情的",
        "含蓄的",
        "开放的",
        "无辜的",
        "多情的",
        "纯真的",
        "拉长的",
        "热心的",
        "从容的",
        "体贴的",
        "风中的",
        "曾经的",
        "追寻的",
        "儒雅的",
        "优雅的",
        "开朗的",
        "外向的",
        "内向的",
        "清爽的",
        "文艺的",
        "长情的",
        "平常的",
        "单身的",
        "伶俐的",
        "高大的",
        "懦弱的",
        "柔弱的",
        "爱笑的",
        "乐观的",
        "耍酷的",
        "酷炫的",
        "神勇的",
        "年轻的",
        "唠叨的",
        "瘦瘦的",
        "无情的",
        "包容的",
        "顺心的",
        "畅快的",
        "舒适的",
        "靓丽的",
        "负责的",
        "背后的",
        "简单的",
        "谦让的",
        "彩色的",
        "缥缈的",
        "欢呼的",
        "生动的",
        "复杂的",
        "慈祥的",
        "仁爱的",
        "魔幻的",
        "虚幻的",
        "淡然的",
        "受伤的",
        "雪白的",
        "高高的",
        "糟糕的",
        "顺利的",
        "闪闪的",
        "羞涩的",
        "缓慢的",
        "迅速的",
        "优秀的",
        "聪明的",
        "含糊的",
        "俏皮的",
        "淡淡的",
        "坚强的",
        "平淡的",
        "欣喜的",
        "能干的",
        "灵巧的",
        "友好的",
        "机智的",
        "机灵的",
        "正直的",
        "谨慎的",
        "俭朴的",
        "殷勤的",
        "虚心的",
        "辛勤的",
        "自觉的",
        "无私的",
        "无限的",
        "踏实的",
        "老实的",
        "现实的",
        "可靠的",
        "务实的",
        "拼搏的",
        "个性的",
        "粗犷的",
        "活力的",
        "成就的",
        "勤劳的",
        "单纯的",
        "落寞的",
        "朴素的",
        "悲凉的",
        "忧心的",
        "洁净的",
        "清秀的",
        "自由的",
        "小巧的",
        "单薄的",
        "贪玩的",
        "刻苦的",
        "干净的",
        "壮观的",
        "和谐的",
        "文静的",
        "调皮的",
        "害羞的",
        "安详的",
        "自信的",
        "端庄的",
        "坚定的",
        "美满的",
        "舒心的",
        "温暖的",
        "专注的",
        "勤恳的",
        "美丽的",
        "腼腆的",
        "优美的",
        "甜美的",
        "甜蜜的",
        "整齐的",
        "动人的",
        "典雅的",
        "尊敬的",
        "舒服的",
        "妩媚的",
        "秀丽的",
        "喜悦的",
        "甜美的",
        "彪壮的",
        "强健的",
        "大方的",
        "俊秀的",
        "聪慧的",
        "迷人的",
        "陶醉的",
        "悦耳的",
        "动听的",
        "明亮的",
        "结实的",
        "魁梧的",
        "标致的",
        "清脆的",
        "敏感的",
        "光亮的",
        "大气的",
        "老迟到的",
        "知性的",
        "冷傲的",
        "呆萌的",
        "野性的",
        "隐形的",
        "笑点低的",
        "微笑的",
        "笨笨的",
        "难过的",
        "沉静的",
        "火星上的",
        "失眠的",
        "安静的",
        "纯情的",
        "要减肥的",
        "迷路的",
        "烂漫的",
        "哭泣的",
        "贤惠的",
        "苗条的",
        "温婉的",
        "发嗲的",
        "会撒娇的",
        "贪玩的",
        "执着的",
        "眯眯眼的",
        "花痴的",
        "想人陪的",
        "眼睛大的",
        "高贵的",
        "傲娇的",
        "心灵美的",
        "爱撒娇的",
        "细腻的",
        "天真的",
        "怕黑的",
        "感性的",
        "飘逸的",
        "怕孤独的",
        "忐忑的",
        "高挑的",
        "傻傻的",
        "冷艳的",
        "爱听歌的",
        "还单身的",
        "怕孤单的",
        "懵懂的"
      ];
      this.nickFoot = [
        "嚓茶",
        "凉面",
        "便当",
        "毛豆",
        "花生",
        "可乐",
        "灯泡",
        "哈密瓜",
        "野狼",
        "背包",
        "眼神",
        "缘分",
        "雪碧",
        "人生",
        "牛排",
        "蚂蚁",
        "飞鸟",
        "灰狼",
        "斑马",
        "汉堡",
        "悟空",
        "巨人",
        "绿茶",
        "自行车",
        "保温杯",
        "大碗",
        "墨镜",
        "魔镜",
        "煎饼",
        "月饼",
        "月亮",
        "星星",
        "芝麻",
        "啤酒",
        "玫瑰",
        "大叔",
        "小伙",
        "哈密瓜，数据线",
        "太阳",
        "树叶",
        "芹菜",
        "黄蜂",
        "蜜粉",
        "蜜蜂",
        "信封",
        "西装",
        "外套",
        "裙子",
        "大象",
        "猫咪",
        "母鸡",
        "路灯",
        "蓝天",
        "白云",
        "星月",
        "彩虹",
        "微笑",
        "摩托",
        "板栗",
        "高山",
        "大地",
        "大树",
        "电灯胆",
        "砖头",
        "楼房",
        "水池",
        "鸡翅",
        "蜻蜓",
        "红牛",
        "咖啡",
        "机器猫",
        "枕头",
        "大船",
        "诺言",
        "钢笔",
        "刺猬",
        "天空",
        "飞机",
        "大炮",
        "冬天",
        "洋葱",
        "春天",
        "夏天",
        "秋天",
        "冬日",
        "航空",
        "毛衣",
        "豌豆",
        "黑米",
        "玉米",
        "眼睛",
        "老鼠",
        "白羊",
        "帅哥",
        "美女",
        "季节",
        "鲜花",
        "服饰",
        "裙子",
        "白开水",
        "秀发",
        "大山",
        "火车",
        "汽车",
        "歌曲",
        "舞蹈",
        "老师",
        "导师",
        "方盒",
        "大米",
        "麦片",
        "水杯",
        "水壶",
        "手套",
        "鞋子",
        "自行车",
        "鼠标",
        "手机",
        "电脑",
        "书本",
        "奇迹",
        "身影",
        "香烟",
        "夕阳",
        "台灯",
        "宝贝",
        "未来",
        "皮带",
        "钥匙",
        "心锁",
        "故事",
        "花瓣",
        "滑板",
        "画笔",
        "画板",
        "学姐",
        "店员",
        "电源",
        "饼干",
        "宝马",
        "过客",
        "大白",
        "时光",
        "石头",
        "钻石",
        "河马",
        "犀牛",
        "西牛",
        "绿草",
        "抽屉",
        "柜子",
        "往事",
        "寒风",
        "路人",
        "橘子",
        "耳机",
        "鸵鸟",
        "朋友",
        "苗条",
        "铅笔",
        "钢笔",
        "硬币",
        "热狗",
        "大侠",
        "御姐",
        "萝莉",
        "毛巾",
        "期待",
        "盼望",
        "白昼",
        "黑夜",
        "大门",
        "黑裤",
        "钢铁侠",
        "哑铃",
        "板凳",
        "枫叶",
        "荷花",
        "乌龟",
        "仙人掌",
        "衬衫",
        "大神",
        "草丛",
        "早晨",
        "心情",
        "茉莉",
        "流沙",
        "蜗牛",
        "战斗机",
        "冥王星",
        "猎豹",
        "棒球",
        "篮球",
        "乐曲",
        "电话",
        "网络",
        "世界",
        "中心",
        "鱼",
        "鸡",
        "狗",
        "老虎",
        "鸭子",
        "雨",
        "羽毛",
        "翅膀",
        "外套",
        "火",
        "丝袜",
        "书包",
        "钢笔",
        "冷风",
        "八宝粥",
        "烤鸡",
        "大雁",
        "音响",
        "招牌",
        "胡萝卜",
        "冰棍",
        "帽子",
        "菠萝",
        "蛋挞",
        "香水",
        "泥猴桃",
        "吐司",
        "溪流",
        "黄豆",
        "樱桃",
        "小鸽子",
        "小蝴蝶",
        "爆米花",
        "花卷",
        "小鸭子",
        "小海豚",
        "日记本",
        "小熊猫",
        "小懒猪",
        "小懒虫",
        "荔枝",
        "镜子",
        "曲奇",
        "金针菇",
        "小松鼠",
        "小虾米",
        "酒窝",
        "紫菜",
        "金鱼",
        "柚子",
        "果汁",
        "百褶裙",
        "项链",
        "帆布鞋",
        "火龙果",
        "奇异果",
        "煎蛋",
        "唇彩",
        "小土豆",
        "高跟鞋",
        "戒指",
        "雪糕",
        "睫毛",
        "铃铛",
        "手链",
        "香氛",
        "红酒",
        "月光",
        "酸奶",
        "银耳汤",
        "咖啡豆",
        "小蜜蜂",
        "小蚂蚁",
        "蜡烛",
        "棉花糖",
        "向日葵",
        "水蜜桃",
        "小蝴蝶",
        "小刺猬",
        "小丸子",
        "指甲油",
        "康乃馨",
        "糖豆",
        "薯片",
        "口红",
        "超短裙",
        "乌冬面",
        "冰淇淋",
        "棒棒糖",
        "长颈鹿",
        "豆芽",
        "发箍",
        "发卡",
        "发夹",
        "发带",
        "铃铛",
        "小馒头",
        "小笼包",
        "小甜瓜",
        "冬瓜",
        "香菇",
        "小兔子",
        "含羞草",
        "短靴",
        "睫毛膏",
        "小蘑菇",
        "跳跳糖",
        "小白菜",
        "草莓",
        "柠檬",
        "月饼",
        "百合",
        "纸鹤",
        "小天鹅",
        "云朵",
        "芒果",
        "面包",
        "海燕",
        "小猫咪",
        "龙猫",
        "唇膏",
        "鞋垫",
        "羊",
        "黑猫",
        "白猫",
        "万宝路",
        "金毛",
        "山水",
        "音响"
      ];
  
      this.femaleNameItems = `嘉、琼、桂、娣、叶、璧、璐、娅、琦、晶、妍、茜、秋、珊、莎、锦、黛、青、倩、婷、姣、婉、娴、瑾、颖、露、瑶、怡、婵、雁、蓓、纨、仪、荷、丹、蓉、眉、君、琴、蕊、薇、菁、梦、岚、苑、婕、馨、瑗、琰、韵、融、园、艺、咏、卿、聪、澜、纯、毓、悦、昭、冰、爽、琬、茗、羽、希、宁、欣、飘、育、滢、馥、筠、柔、竹、霭、凝、晓、欢、霄、枫、芸、菲、寒、伊、亚、宜、可、姬、舒、影、荔、枝、思、丽、秀、娟、英、华、慧、巧、美、娜、静、淑、惠、珠、翠、雅、芝、玉、萍、红、娥、玲、芬、芳、燕、彩、春、菊、勤、珍、贞、莉、兰、凤、洁、梅、琳、素、云、莲、真、环、雪、荣、爱、妹、霞、香、月、莺、媛、艳、瑞、凡、佳`.split("、");
      this.maleNameItems = `涛、昌、进、林、有、坚、和、彪、博、诚、先、敬、震、振、壮、会、群、豪、心、邦、承、乐、绍、功、松、善、厚、庆、磊、民、友、裕、河、哲、江、超、浩、亮、政、谦、亨、奇、固、之、轮、翰、朗、伯、宏、言、若、鸣、朋、斌、梁、栋、维、启、克、伦、翔、旭、鹏、泽、晨、辰、士、以、建、家、致、树、炎、德、行、时、泰、盛、雄、琛、钧、冠、策、腾、伟、刚、勇、毅、俊、峰、强、军、平、保、东、文、辉、力、明、永、健、世、广、志、义、兴、良、海、山、仁、波、宁、贵、福、生、龙、元、全、国、胜、学、祥、才、发、成、康、星、光、天、达、安、岩、中、茂、武、新、利、清、飞、彬、富、顺、信、子、杰、楠、榕、风、航、弘`.split("、");
     
      this.familyNameItemsSin = "赵,钱,孙,李,周,吴,郑,王,冯,陈,褚,卫,蒋,沈,韩,杨,朱,秦,尤,许,何,吕,施,张,孔,曹,严,华,金,魏,陶,姜,戚,谢,邹,喻,柏,水,窦,章,云,苏,潘,葛,奚,范,彭,郎,鲁,韦,昌,马,苗,凤,花,方,俞,任,袁,柳,酆,鲍,史,唐,费,廉,岑,薛,雷,贺,倪,汤,滕,殷,罗,毕,郝,邬,安,常,乐,于,时,傅,皮,卞,齐,康,伍,余,元,卜,顾,孟,平,黄,和,穆,萧,尹,姚,邵,湛,汪,祁,毛,禹,狄,米,贝,明,臧,计,伏,成,戴,谈,宋,茅,庞,熊,纪,舒,屈,项,祝,董,梁,杜,阮,蓝,闵,席,季,麻,强,贾,路,娄,危,江,童,颜,郭,梅,盛,林,刁,钟,徐,丘,骆,高,夏,蔡,田,樊,胡,凌,霍,虞,万,支,柯,昝,管,卢,莫,经,房,裘,缪,干,解,应,宗,丁,宣,贲,邓,郁,单,杭,洪,包,诸,左,石,崔,吉,钮,龚,程,嵇,邢,滑,裴,陆,荣,翁,荀,羊,于,惠,甄,曲,家,封,芮,羿,储,靳,汲,邴,糜,松,井,段,富,巫,乌,焦,巴,弓,牧,隗,山,谷,车,侯,宓,蓬,全,郗,班,仰,秋,仲,伊,宫,宁,仇,栾,暴,甘,钭,厉,戎,祖,武,符,刘,景,詹,束,龙,叶,幸,司,韶,郜,黎,蓟,薄,印,宿,白,怀,蒲,邰,从,鄂,索,咸,籍,赖,卓,蔺,屠,蒙,池,乔,阴,郁,胥,能,苍,双,闻,莘,党,翟,谭,贡,劳,逄,姬,申,扶,堵,冉,宰,郦,雍,嘤,璩,桑,桂,濮,牛,寿,通,边,扈,燕,冀,郏,浦,尚,农,柴,瞿,阎,充,慕,连,茹,习,宦,艾,鱼,容,向,古,易,慎,戈,廖,庾,终,暨,居,衡,步,都,耿,满,弘,匡,国,文,寇,广,禄,阙,东,欧,殳,沃,利,蔚,越,夔,隆,师,巩,厍,聂,晁,勾,敖,融,冷,訾,辛,阚,那,简,饶,空,曾,毋,沙,乜,养,鞠,须,丰,巢,关,蒯,相,查,后,荆,红,游,竺,权,逯,盖,益,桓,公,万,俟,司,马,上,官,欧,阳,夏,候,诸,葛,闻,人,东,方,赫,连,皇,甫,尉,迟,公,羊,澹,台,公,治,宗,政,濮,阳,淳,于,单,于,太,叔,申,屠,公,孙,仲,孙".split(",");
      this.familyNameItemsSur ='辕轩,令狐,钟离,宇文,长孙,幕容,鲜于,闾丘,司徒,司空,丌官,司寇,仉督,子车,颛孙,端木,巫马,公西,漆雕,乐正,壤驷,公良,拓拔,夹谷,宰父,谷梁,晋楚,阎法,汝鄢,涂钦,段干,百里,东郭,南门,呼延,归海,羊舌,微生,岳帅,缑亢,况后,有琴,梁丘,左丘,东门,西门,商牟,佘佴,佰赏,南官,墨哈,谯笪,年爱,阳佟,第五,言福'.split(",");
      this.allName = this.femaleNameItems.concat(this.maleNameItems);
      this.familyNameItemsAll = this.familyNameItemsSin.concat(this.familyNameItemsSur)
    }
  
    getNickHeader() {
      return this.nickHeader[randomNum(0, 331)];
    }
    getNickFoot() {
      return this.nickFoot[randomNum(0, 325)];
    }
  
    getNickName() {
      return this.getHeader() + this.getFoot();
    }
  
    getFamilyName(sur = true) {
      if(sur){
  
        return this.familyNameItemsAll[randomNum(0, this.familyNameItemsAll.length - 1)];
      }
      else{
        return this.familyNameItemsSin[randomNum(0, this.familyNameItemsSin.length - 1)];
      }
     
    }
    getFemaleName(sur) {
      const r = randomNum(0, 1);
      if (r === 0) {
        return (
          this.getFamilyName(sur) +
          this.femaleNameItems[randomNum(0, this.femaleNameItems.length - 1)] +
          this.femaleNameItems[randomNum(0, this.femaleNameItems.length - 1)]
        );
      } else {
        return (
          this.getFamilyName(sur) +
          this.femaleNameItems[randomNum(0, this.femaleNameItems.length - 1)]
        );
      }
    }
    getMaleName(sur) {
      const r = randomNum(0, 1);
      if (r === 0) {
      return (
        this.getFamilyName(sur) +
        this.maleNameItems[randomNum(0, this.maleNameItems.length - 1)] +
        this.maleNameItems[randomNum(0, this.maleNameItems.length - 1)]
      );
      }else{
        return (
          this.getFamilyName(sur) +
          this.maleNameItems[randomNum(0, this.maleNameItems.length - 1)]
        );
      }
    }
    getName(sur) {
      const r = randomNum(0, 1);
      if (r === 0) {
      return (
        this.getFamilyName(sur) +
        this.allName[randomNum(0, this.allName.length - 1)] +
        this.allName[randomNum(0, this.allName.length - 1)]
      );
      }
      else{
        return (
          this.getFamilyName() +this.allName[randomNum(0, this.allName.length - 1)]
        );
      }
      
    }
  }
  let randomName = new RandomName();
  export default randomName;